package com.kexio.enterprise.integration.message.template;

import com.kexio.enterprise.integration.message.enums.MessagePriority;
import com.kexio.enterprise.integration.message.enums.MessageType;

import java.util.List;
import java.util.Map;

/**
 * 模板消息
 * 
 * @author Kexio
 * @since 1.0.0
 */
public class TemplateMessage {
    private String templateId;
    private List<String> recipients;
    private Map<String, Object> variables;
    private MessageType type;
    private MessagePriority priority;
    private Map<String, String> headers;
    private Map<String, Object> metadata;

    public TemplateMessage() {
        this.priority = MessagePriority.NORMAL;
    }

    // Getters and Setters
    public String getTemplateId() { return templateId; }
    public void setTemplateId(String templateId) { this.templateId = templateId; }
    
    public List<String> getRecipients() { return recipients; }
    public void setRecipients(List<String> recipients) { this.recipients = recipients; }
    
    public Map<String, Object> getVariables() { return variables; }
    public void setVariables(Map<String, Object> variables) { this.variables = variables; }
    
    public MessageType getType() { return type; }
    public void setType(MessageType type) { this.type = type; }
    
    public MessagePriority getPriority() { return priority; }
    public void setPriority(MessagePriority priority) { this.priority = priority; }
    
    public Map<String, String> getHeaders() { return headers; }
    public void setHeaders(Map<String, String> headers) { this.headers = headers; }
    
    public Map<String, Object> getMetadata() { return metadata; }
    public void setMetadata(Map<String, Object> metadata) { this.metadata = metadata; }
}
